package com.cinc.mdm.modules.bom.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cinc.mdm.modules.bom.entity.MdmBom;
import com.cinc.mdm.modules.bom.vo.MdmBomMutilLevelPage;
import com.cinc.mdm.modules.bom.vo.MdmBomPage;
import com.cinc.mdm.modules.bom.vo.MdmBomTreePage;
import org.apache.ibatis.annotations.Param;

import javax.persistence.metamodel.ListAttribute;
import java.util.List;
import java.util.concurrent.LinkedTransferQueue;

/**
 * @Description: bom主记录
 * @Author: jeecg-boot
 * @Date:   2021-10-24
 * @Version: V1.0
 */
public interface MdmBomMapper extends BaseMapper<MdmBom> {

    IPage<MdmBomPage> selectPageList(Page<MdmBomPage> page,@Param("mdmBomPage") MdmBomPage mdmBomPage);

    List<MdmBomTreePage> selectTreeTopList(@Param("materialDesc")String materialDesc,@Param("materialTypeCode") String materialTypeCode);
    MdmBomTreePage selectTreeTop(@Param("materialId") String materialId);

    List<MdmBomPage> selectBomList(@Param("mdmBomPage") MdmBomPage mdmBomPage);

    List<MdmBomPage> selectByMaterialCodeList(@Param("materialCodeList")List<String> materialCodeList);

    List<MdmBomPage> selectByMaterialCodeAndFactory(@Param("bomPageList")List<MdmBomPage> bomPageList);

    List<MdmBomMutilLevelPage> selectSingleLevelList(@Param("factory") String factory, @Param("materialId") String materialId);
}
